#
# Copyright 2001,2004 The Apache Software Foundation.
# 
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# 
#      http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#
#
# $Log$
# Revision 1.7  2005/04/05 09:21:57  gareth
# Fix for jira 1397. *Much* nicer make output. Thanks to Axel Weib.
#
# Revision 1.6  2004/09/08 13:56:53  peiyongz
# Apache License Version 2.0
#
# Revision 1.5  2004/07/09 16:31:26  peiyongz
# Build on HP-Itanium, aCC A.05.52
#
# Revision 1.4  2003/12/11 21:57:26  peiyongz
# XMLCanRepGroup
#
# Revision 1.3  2002/09/17 21:24:25  peiyongz
# RPM for Xerces2.1.0, patch from Thomas Woerner (thomas@linux.de)
#
# Revision 1.2  2002/07/26 16:49:29  tng
# [Bug 2681] Can't build with gcc/g++ not named 'gcc'/'g++'.  Patch from Jonathan Lennox.
#
# Revision 1.1.1.1  2002/02/01 22:22:42  peiyongz
# sane_include
#
# Revision 1.22  2001/11/07 19:18:52  peiyongz
# DateTime Port
#
# Revision 1.21  2001/10/01 16:14:22  peiyongz
# DTV Reorganization:new classes: AbstractNumericFactValidator/ AbstractNumericValidator
#
# Revision 1.20  2001/09/25 16:08:26  peiyongz
# DTV Reorganization: Create native NameDTV and NCNameDTV
#
# Revision 1.19  2001/09/18 16:00:54  peiyongz
# DTV reorganization: AbstractStringValidator
#
# Revision 1.18  2001/08/24 17:12:01  knoaman
# Add support for anySimpleType.
# Remove parameter 'baseValidator' from the virtual method 'newInstance'.
#
# Revision 1.17  2001/08/01 18:49:16  peiyongz
# AnyRUIDatatypeValidator
#
# Revision 1.16  2001/07/26 20:40:56  peiyongz
# FloatDatatypeValidator
#
# Revision 1.15  2001/07/24 13:59:03  peiyongz
# DoubleDTV
#
# Revision 1.14  2001/07/13 14:10:37  peiyongz
# UnionDTV
#
# Revision 1.13  2001/07/11 21:37:15  peiyongz
# ListDatatypeDTV
#
# Revision 1.12  2001/07/06 20:21:46  peiyongz
# QNameDTV & ENTITYDTV enabled
#
# Revision 1.11  2001/07/06 17:12:11  tng
# Automatic build of single-threaded library.  By Martin Kalen.
#
# Revision 1.10  2001/07/05 20:15:26  peiyongz
# NOTATIONDatatypeValidator
#
# Revision 1.9  2001/07/04 20:16:31  peiyongz
# IDREFDatatypeValidator
#
# Revision 1.8  2001/07/04 15:22:55  peiyongz
# IDDatatypeValidator
#
# Revision 1.7  2001/06/27 17:09:52  tng
# [Bug 1147] Headers install in wrong directory.  By Murray Cumming.
#
# Revision 1.6  2001/05/16 15:24:44  tng
# Schema: Add Base64 and HexBin.  By Pei Yong Zhang.
#
# Revision 1.5  2001/05/11 13:27:29  tng
# Copyright update.
#
# Revision 1.4  2001/05/10 20:51:31  tng
# Schema: Add DecimalDatatypeValidator and XMLBigDecimal, XMLBigInteger.  By Pei Yong Zhang.
#
# Revision 1.3  2001/05/09 18:43:41  tng
# Add StringDatatypeValidator and BooleanDatatypeValidator.  By Pei Yong Zhang.
#
# Revision 1.2  2001/03/21 21:39:15  knoaman
# Schema symbols and Datatype validator part I
#
# Revision 1.1  2001/02/15 18:41:50  tng
# Schema: Exception Handling added by Pei Yong Zhang.  Add NumberFormatException, ParseException,
# InvalidDatatypeFacetException, and InvalidDatatypeValueException.  The associated
# Makefile.in and configure.in are updated.
#
#

PLATFORM = @platform@
CC  = @cc@
CXX = @cxx@
CXXVER = @cxxver@
GCC = @GCC@
GXX = @GXX@
CXXFLAGS = @cxxflags@
CFLAGS = @cflags@
PREFIX = @prefix@
PREFIX_INCLUDE = @prefix_include@
LDFLAGS = @ldflags@
LIBS = @libs@
OSVER = @osver@
USELIBWWW = @uselibwww@
MESSAGELOADER = @messageloader@
TRANSCODER = @transcoder@
THREADS = @threads@

include ../../Makefile.incl

MODULE = validators
SUBMODULE = datatype

VALIDATORS_DATATYPE_CPP_PUBHEADERS = \
	InvalidDatatypeFacetException.hpp \
	InvalidDatatypeValueException.hpp \
	DatatypeValidator.hpp \
	DatatypeValidatorFactory.hpp \
	Base64BinaryDatatypeValidator.hpp \
	BooleanDatatypeValidator.hpp \
	DecimalDatatypeValidator.hpp \
	HexBinaryDatatypeValidator.hpp \
	StringDatatypeValidator.hpp \
	IDDatatypeValidator.hpp \
	NOTATIONDatatypeValidator.hpp \
	ENTITYDatatypeValidator.hpp \
	QNameDatatypeValidator.hpp \
	NameDatatypeValidator.hpp \
	NCNameDatatypeValidator.hpp \
	ListDatatypeValidator.hpp \
	UnionDatatypeValidator.hpp \
	DoubleDatatypeValidator.hpp \
	FloatDatatypeValidator.hpp \
	AnyURIDatatypeValidator.hpp \
	IDREFDatatypeValidator.hpp \
	AnySimpleTypeDatatypeValidator.hpp \
	AbstractNumericFacetValidator.hpp \
	AbstractNumericValidator.hpp \
	AbstractStringValidator.hpp \
	DateTimeValidator.hpp \
	DateTimeDatatypeValidator.hpp \
	DateDatatypeValidator.hpp \
	TimeDatatypeValidator.hpp \
	DayDatatypeValidator.hpp \
	MonthDatatypeValidator.hpp \
	MonthDayDatatypeValidator.hpp \
	YearDatatypeValidator.hpp \
	YearMonthDatatypeValidator.hpp \
	XMLCanRepGroup.hpp \
	DurationDatatypeValidator.hpp

VALIDATORS_DATATYPE_CPP_PRIVHEADERS =

VALIDATORS_DATATYPE_C_FILES =

VALIDATORS_DATATYPE_CPP_OBJECTS = \
	DatatypeValidator.$(TO) \
	DatatypeValidatorFactory.$(TO) \
	Base64BinaryDatatypeValidator.$(TO) \
	BooleanDatatypeValidator.$(TO) \
	DecimalDatatypeValidator.$(TO) \
	HexBinaryDatatypeValidator.$(TO) \
	StringDatatypeValidator.$(TO) \
	IDDatatypeValidator.$(TO) \
	NOTATIONDatatypeValidator.$(TO) \
	ENTITYDatatypeValidator.$(TO) \
	QNameDatatypeValidator.$(TO) \
	NameDatatypeValidator.$(TO) \
	NCNameDatatypeValidator.$(TO) \
	ListDatatypeValidator.$(TO) \
	UnionDatatypeValidator.$(TO) \
	DoubleDatatypeValidator.$(TO) \
	FloatDatatypeValidator.$(TO) \
	AnyURIDatatypeValidator.$(TO) \
	IDREFDatatypeValidator.$(TO) \
	AnySimpleTypeDatatypeValidator.$(TO) \
	AbstractNumericFacetValidator.$(TO) \
	AbstractNumericValidator.$(TO) \
	AbstractStringValidator.$(TO) \
	DateTimeValidator.$(TO) \
	DateTimeDatatypeValidator.$(TO) \
	DateDatatypeValidator.$(TO) \
	TimeDatatypeValidator.$(TO) \
	DayDatatypeValidator.$(TO) \
	MonthDatatypeValidator.$(TO) \
	MonthDayDatatypeValidator.$(TO) \
	YearDatatypeValidator.$(TO) \
	YearMonthDatatypeValidator.$(TO) \
	XMLCanRepGroup.$(TO) \
	DurationDatatypeValidator.$(TO)

all::	includes $(VALIDATORS_DATATYPE_CPP_OBJECTS)

includes::	pubheaders $(VALIDATORS_DATATYPE_C_FILES)

pubheaders::
	$Qmkdir -p $(XML_INC_DIR)/$(MODULE)/$(SUBMODULE)
	@echo "  (CP)  $(XML_INC_DIR)/$(MODULE)/$(SUBMODULE)"
	$Q$(CP) $(VALIDATORS_DATATYPE_CPP_PUBHEADERS) $(VALIDATORS_DATATYPE_C_FILES) $(XML_INC_DIR)/$(MODULE)/$(SUBMODULE)

# this may generate unnecessary dependencies, but it makes life easier
depend:: includes
	@echo "  (DEP)"
	$Q$(MAKE_DEPEND) $(XML_INCL)  *.cpp > $(DEPFILE)

clean::
	@echo "Making clean in $(MODULE)/$(SUBMODULE) ..."
	$(RM2) $(addprefix $(XML_OBJ_DIR)/,$(VALIDATORS_DATATYPE_CPP_OBJECTS))

distclean::	clean
	$(RM) Makefile $(DEPFILE)
	@echo "Removing all $(MODULE)/$(SUBMODULE) header files ..."
	$(RM2) $(addprefix $(XML_INC_DIR)/$(MODULE)/$(SUBMODULE)/,$(VALIDATORS_DATATYPE_CPP_PUBHEADERS))

install::
	-mkdir -p $(DESTDIR)$(PREFIX_INCLUDE)/$(MODULE)/$(SUBMODULE)
	$(CP) $(VALIDATORS_DATATYPE_CPP_PUBHEADERS) $(VALIDATORS_DATATYPE_C_FILES) $(DESTDIR)$(PREFIX_INCLUDE)/$(MODULE)/$(SUBMODULE)
